package com.itdaan.portal.common.util;

import java.text.DecimalFormat;

import org.apache.commons.lang.StringUtils;

/**
 * @author www.itdaan.com
 */
public class StringUtil extends StringUtils {
	// 构造方法的字符格式这里如果小数不足2位,会以0补足.
	public final static DecimalFormat decimalFormatTwo = new DecimalFormat(".00");
	// 构造方法的字符格式这里如果小数不足3位,会以0补足.
	public final static DecimalFormat decimalFormatThree = new DecimalFormat(".000");
	public final static int DIGIT_ZERO = 1;
	public final static int DIGIT_ONE = 10;
	public final static int DIGIT_TWO = 100;
	public final static int DIGIT_THREE = 1000;

	/**
	 * 获取url连接符
	 * 
	 * @param url
	 * @return
	 */
	public static String appendUrlSign(String url) {
		return StringUtil.defaultString(url) + (StringUtil.defaultString(url).contains("?") == true ? "&" : "?");
	}

	/**
	 * 现金转换指定3位数
	 * 
	 * @param money
	 * @param format
	 * @return
	 */
	public static Float cashFormat(Float money, DecimalFormat format) {
		return cashFormat(money, format, DIGIT_THREE);
	}

	/**
	 * 现金转换按照指定的位数
	 * 
	 * @param money
	 * @param format
	 * @param digit
	 * @return
	 */
	public static Float cashFormat(Float money, DecimalFormat format, int digit) {
		if (money != null) {
			// format 返回的是字符串
			return Float.valueOf(format.format(money.floatValue() / digit));
		} else {
			return 0.0f;
		}
	}
	
	/**
	 * 使用java正则表达式去掉多余的.与0
	 * @param s
	 * @return 
	 */
	public static String subZeroAndDot(String s){
		if (defaultString(s).indexOf(".") > 0){
			s = s.replaceAll("0+?$", "");//去掉多余的0
			s = s.replaceAll("[.]$", "");//如最后一位是.则去掉
		}
		return s;
	}
	
	public static void main(String[] args) {
		Float f = 1f;
		System.out.println(f.toString());//1.0
		System.out.println(subZeroAndDot("1"));;  // 转换后为1
		System.out.println(subZeroAndDot("10"));;  // 转换后为10
		System.out.println(subZeroAndDot("1.0"));;  // 转换后为1
		System.out.println(subZeroAndDot("1.010"));;  // 转换后为1.01 
		System.out.println(subZeroAndDot("1.01"));;  // 转换后为1.01
	}
}
